home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Microsoft Graphics Studio: Home Publishing 99
/
[Microsoft Graphics Studio] Home Publishing 99 (Blue) Disk 2.iso
/
mhp
/
template
/
egp3088.mta
/
EGP3088.MTA
Wrap
Text File
|
1998-08-10
|
80KB
|
2,311 lines
MIME-Version: 1.0
Content-Type: multipart/related;
boundary="----=_NextPart_000_0BEC_01BDBEBB.64254D90";
type="multipart/alternative"
X-MMEditor: 00.00.02.1994,MinSave
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
This is a multi-part message in MIME format.
------=_NextPart_000_0BEC_01BDBEBB.64254D90
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_0BED_01BDBEBB.64254D90"
------=_NextPart_001_0BED_01BDBEBB.64254D90
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Your Message Here.
------=_NextPart_001_0BED_01BDBEBB.64254D90
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN">
<HTML>
<HEAD>
<META content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type>
<META content=3D"MMEditor Version 00.00.02.1994,MinSave" =
name=3DGENERATOR>
<STYLE id=3DDocStyleSheet>.PreCreateRule {
POSITION: absolute
}
.DocClientData {
LEFT: 0px; OVERFLOW: hidden; POSITION: absolute; TOP: 20px; VISIBILITY: =
visible
}
.RuntimeScriptDiv {
LEFT: -3200px; POSITION: absolute; TOP: -3200px; VISIBILITY: hidden
}
.SoundElementsDiv {
LEFT: -3200px; POSITION: absolute; TOP: -3200px; VISIBILITY: hidden
}
.Sx19 {
HEIGHT: 301px; LEFT: 10px; OVERFLOW: hidden; POSITION: absolute; TOP: =
30px; VISIBILITY: hidden; WIDTH: 571px; Z-INDEX: 100
}
.Ix21 {
BACKGROUND-COLOR: #ffffff; BACKGROUND-REPEAT: no-repeat; BORDER-BOTTOM: =
0px; BORDER-LEFT: 0px; BORDER-RIGHT: 0px; BORDER-TOP: 0px; LEFT: 0px; =
POSITION: absolute; TOP: 0px; VISIBILITY: inherit; Z-INDEX: 51
}
.PD20 {
BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-RIGHT: 0px; BORDER-TOP: =
0px; HEIGHT: 300px; LEFT: 0px; POSITION: absolute; TOP: 0px; VISIBILITY: =
inherit; WIDTH: 570px; Z-INDEX: 50
}
.PT22 {
BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-RIGHT: 0px; BORDER-TOP: =
0px; HEIGHT: 188px; LEFT: 27px; PADDING-BOTTOM: 9px; PADDING-LEFT: 9px; =
PADDING-RIGHT: 9px; PADDING-TOP: 9px; POSITION: absolute; TEXT-ALIGN: =
center; TOP: 52px; VISIBILITY: hidden; WIDTH: 531px; Z-INDEX: 100
}
.Ix32 {
LEFT: 0px; POSITION: absolute; TOP: 0px; VISIBILITY: inherit; Z-INDEX: =
52
}
DIV {
FONT-FAMILY: Times New Roman
}
</STYLE>
<STYLE id=3DFontStyleSheet>@font-face {
font-family: Comic Sans MS;
=
src:url(cid:0bea01bdbef6$1071d610$ed5d389d@superwonker.dns.microsoft.com)=
;
}
</STYLE>
</HEAD>
<BODY background=3D"" bgColor=3D#c0c0c0 leftMargin=3D0 topMargin=3D0>
<DIV class=3DPreCreateRule id=3DNavigationButtons style=3D"VISIBILITY: =
hidden">
<FORM name=3DNavigationButtonsForm><INPUT name=3DStart type=3Dbutton =
value=3D"Play >/Replay >"><INPUT name=3DBackward type=3Dbutton =
value=3D"Back <<"><INPUT name=3DForward type=3Dbutton value=3D"Forward =
>>"><INPUT name=3DWebpage type=3Dbutton value=3DAbout...><INPUT =
name=3DSceneStatus type=3Dbutton value=3D" Loading... "></FORM></DIV>=20
<DIV class=3DDocClientData id=3DDocClientData GW_NextID =3D 37 AOPTable =
=3D=20
" <AR|ARS1| <AP|APa{guid =
{A3649D6E-5058-11CF-9E27-00AA00BBB8AF}}|APbGreetings Workshop|>|>|"=20
ProjectType =3D "multimedia greeting" OutputStyle =3D "short page for =
brief message"=20
KeyWords =3D null skuGW =3D null skuGWDelux =3D 1 skuOE =3D null =
lclEnglish =3D 1 lclZ =3D 1=20
lclFrench =3D null lclJ =3D null Themes =3D=20
" <AR|ARS1| =
<TT|TTa5|TTb0|TTc30835|TTd5|TTe0|TTf30836|TTg5|TTh0|TTi30837|>|>|">
<DIV class=3DSx19 id=3DSx19 PageName =3D PD20 SoundPaths =3D=20
" <AR|ARS1| <SN| =
<CP|CPa4A00000030300000000000000C000000000000640000C1000000A384F4D45435E4=
D4D4C5D41494E4C5A403037343231323E2D4944400FFFFDAED00000000000000000000000=
0000000000000000000000000300000400000003000008100000010000000FFFFFFFF0000=
0000FFFFFFFF99E7000042000000420000003300000006000000060000000000000081000=
0000000000000000000000000000000000070870000C3000000|CPbD:\soundDump\j0074=
212.mid|CPccid:057301bd9ae9$8da37840$5c5a389d@emma2.dns.microsoft.com|CPd=
j0074212.mid|>|SNa0|SNb1|SNc1|SNd0|SNe0|>|>|"=20
PageEffect =3D " <PE| <TR|TRa13|TRb2|TRc2|TRd1|TRe2|>|PEa0|PEb10|>|">
<DIV class=3DPD20 id=3DPD20 PageName =3D Ix32 NoBackground =3D 0 =
PolyPath =3D=20
1,6,0.286865,137.319,0,300,570,300,570,0,0.286865,0,0.286865,137.319,0,0,=
=20
ClipPathInfo =3D=20
" =
<CP|CPa8C00000030300000000000000C00000000000064000052000000A384F4D4540525=
54D4C5D41494E4C584D4052544942523C5A403037333838353E274946400FFFFDAED00000=
000000000000000000000000000000000000000000000D247100007F54A30D24710000000=
00004E4610000000000048F54A3080350CE5100000004E4610000007100089F54A304E461=
000000000000000784100000000CAF54A30000000000000000000000000000000000CF54A=
30000000000000000000000000000000000000000000000000|CPbX:\v3Contnt\clipmed=
\mmclips\j730_739\j0073885.gif|CPccid:003501bd8e4b$034cd420$5c5a389d@emma=
2.dns.microsoft.com|CPdj0073885.gif|>|"=20
CAGQueryIndx =3D 0><IMG class=3DIx32 id=3DIx32=20
src=3D"cid:003501bd8e4b$034cd420$5c5a389d@emma2.dns.microsoft.com"><IMG =
class=3DIx21=20
id=3DIx21 name=3DIx21=20
src=3D"cid:0be401bdbef6$102ba550$ed5d389d@superwonker.dns.microsoft.com">=
=20
</DIV> =20
<DIV class=3DPT22 id=3DPT22 SoundPaths =3D " <AR|ARS0|>|" EntranceEffect =
=3D=20
" <EE| =
<TR|TRa0|TRb2|TRc3|TRd1|TRe2|>|EEa1|EEb0|EEc0|EEd100|EEf0|EEg1|>|"=20
TravelEffectOptions =3D " <TE|TEa0|TEb2|TEc0|TEd0|>|" ExitEffect =3D=20
" <EE| =
<TR|TRa0|TRb2|TRc2|TRd1|TRe2|>|EEa0|EEb0|EEc100|EEd0|EEf0|EEg0|>|"=20
ButtonEvent =3D=20
" <BE|BEa0|BEc| <CP|CPaNIL|CPb|CPc|CPd|>| <CP|CPaNIL|CPb|CPc|CPd|>| =
<CP|CPaNIL|CPb|CPc|CPd|>|>|"><STRONG>
<P><FONT color=3D#ff0000 face=3D"Comic Sans MS" size=3D5>Your Message=20
Here.</FONT></P></STRONG></DIV></DIV></DIV> =20
<DIV class=3DSoundElementsDiv id=3DSoundElementsDiv> <BGSOUND =
id=3DAW36 soundsrc=20
=3D cid:057301bd9ae9$8da37840$5c5a389d@emma2.dns.microsoft.com> <IMG=20
src=3D""></DIV> =20
<DIV id=3DNavSoundElementsDiv> <EMBED hidden=3Dtrue id=3DAW36nav =
name=3DAW36nav=20
src=3Dcid:057301bd9ae9$8da37840$5c5a389d@emma2.dns.microsoft.com =
autostart =3D no=20
MASTERSOUND></DIV>
<SCRIPT id=3DRuntimeScript language=3DJavaScript>
if ( navigator.appVersion.substring(0,1) < 4 )
alert("Sorry but your Web browser needs to be updated. You must have at =
least a version 4.0 browser to view this project.");
if ( navigator.appName !=3D "Netscape" ) =09
{ =09
document.body.background =3D ""; =09
for ( var ii=3D0; ii<document.all.length; ii++ ) =09
if ((document.all.item(ii).id).indexOf("Sx") !=3D -1) =09
document.all.item(ii).style.filter=3D"revealTrans(duration=3D0, =
transition=3D0)"; =09
} =09
var OBJ_SCENE =3D 0; =09
var OBJ_PLAYER =3D 1; =09
var PLAYER_IMAGE =3D 0; =09
var PLAYER_TEXT =3D 1; =09
var PLAYER_DRAW =3D 2; =09
var NAME_SCENE =3D "S" =09
var NAME_PLAYER =3D "P" =09
var PLAYER_NAME_IMAGE =3D "I" =09
var PLAYER_NAME_TEXT =3D "T"
var PLAYER_NAME_DRAW =3D "D"
var IE_VISIBLE =3D "visible";
var IE_HIDDEN =3D "hidden";
var IE_INHERIT =3D "inherit";
var NAV_VISIBLE =3D "show";
var NAV_HIDDEN =3D "hide";
var NAV_INHERIT =3D "inherit";
var DEFAULT_TICK_RATE =3D 100; =09
var DEFAULT_SCENE_DURATION =3D 10000;=09
var DEFAULT_PLAYER_DELAY =3D 0; =09
var TMR_PROJ =3D 0; =09
var TMR_SCENE =3D 1; =09
var RR_NONE =3D 0; =09
var RR_PAGE_BUTTONS =3D 1; =09
var RR_FULL_RUNTIME =3D 2; =09
var DUR_FOREVER =3D -1; =09
var DELAY_NONE =3D 0; =09
var DELAY_UNTIL_TRANSITION =3D -1; =09
var DELAY_UNTIL_TRIGGER =3D -2; =09
var DUR_UNTIL_DONE =3D -1; =09
var TT_ALL_MOUSE_EVENTS =3D 0; =09
var TT_BUTTONDOWN =3D 1; =09
var TT_BUTTONUP =3D 2; =09
var TT_MOUSEOVER =3D 3; =09
var TT_MOUSEOUT =3D 4; =09
var TB_PAGE_TURNER =3D -1; =09
var TB_START_PLAYER =3D -2; =09
var NULL_TRANSITION =3D -1;
var TEXT_FLYIN =3D 101;
var TEXT_TYPEWRITER =3D 102;
var FLYIN_TOP =3D 0;
var FLYIN_BOTTOM =3D 1;
var FLYIN_LEFT =3D 2;
var FLYIN_RIGHT =3D 3;
var FLYIN_ROTATE =3D 4;
var FLYIN_BY_LETTER =3D 1;
var FLYIN_BY_WORD =3D 2;
var FLYIN_BY_LINE =3D 3;
var FLYIN_PER_TICK =3D new Array (200, 160, 120, 80, 40); =09
var TRANSITION_RATES =3D new Array(1,2,3,4,5); =09
var PS_UNINITIALIZED =3D 0;
var PS_INITIALIZED =3D 1;
var PS_RUNNING =3D 2;
var PS_PAUSED =3D 3;
var PS_COMPLETE =3D 4;
var sceneArray =3D new Array();=09
var currentScene =3D null; =09
var nScenes =3D 0; =09
var stProjState =3D PS_UNINITIALIZED;=09
var stButtons =3D false; =09
var stNoInput =3D 0; =09
var strPause =3D new Array( "" );
var strPlay =3D new Array( "" );
var formStatus =3D null;
var tickTimer =3D null; =09
var sys =3D navigator.appName; =09
var vers =3D navigator.appVersion.substring(0,1); =09
var os =3D navigator.appVersion.indexOf("NT") >=3D 0 ? "NT" : "95";=09
var platform =3D navigator.platform; =09
window.onload =3D PreSetup;
window.onerror =3D Error;
function Error()
{
alert("There has been an unidentified error in this file's script. You =
may be able to fix this problem by refreshing your browser.");
return true;
}
function Project( tickRate, startScene, stopScene, rtReq, autoStart, =
delay, webpage )
{
this.tickRate =3D tickRate;
this.startScene =3D startScene;
this.stopScene =3D stopScene;
this.rtReq =3D rtReq;
this.autoStart =3D autoStart;
this.delay =3D delay;
this.webpage =3D webpage;
}
function PreSetup()
{
if ( (Project.delay !=3D null) && (Project.delay !=3D 0) ) =09
{
setTimeout( "Setup();", Project.delay*1000 );=20
return;
}
=09
Setup();
}
function Setup()=20
{ =20
stNoInput++; =09
if ( vers < 4 ) return; =09
if ( sys =3D=3D "Netscape" ) =09
{
document.all =3D new Array; =09
Extract(document); =09
=09
document.body =3D new Object;
document.body.clientWidth =3D window.innerWidth;
document.body.clientHeight =3D window.innerHeight;
document.body.scrollTop =3D window.pageXOffset;=20
document.body.scrollLeft =3D window.pageYOffset;
}
stButtons =3D SetupButtons(); =09
ProjectInitialize(); =09
stNoInput--; =09
if ( (stButtons =3D=3D false) || (Project.autoStart =3D=3D true) )=09
Start(); =09
}
function ProjectInitialize()
{
=09
tickTimer =3D new Timer();
=09
=09
InitializeScenes();
=09
tickTimer.StartTicking(); =09
=09
if ( Project.startScene =3D=3D null ) =09
Project.startScene =3D 0; =09
stProjState =3D PS_INITIALIZED; =09
=09
}
function ProjectStart( startScene )
{
stProjState =3D PS_RUNNING;
if ( startScene !=3D null )
ChangeScene( startScene );
else
ChangeScene( Project.startScene );
}
function ProjectComplete()
{
if ( Project.rtReq =3D=3D RR_PAGE_BUTTONS ) =09
return; =09
ProjectShutdown();
StatusChange(); =09
}
function ProjectShutdown()
{
KillTimer(); =09
StopEverythingOnScenes( false );
currentScene =3D null;
stProjState =3D PS_COMPLETE; =09
}
function Extract( obj )
{
=09
=09
for (var intLayer =3D 0; intLayer< obj.layers.length; intLayer++)=09
{
var el =3D obj.layers[intLayer]; =09
document.all[el.id] =3D new Object =09
var newEl =3D document.all[el.id]; =09
=09
newEl.id =3D el.id; =09
newEl.style =3D new Object; =09
newEl.style.pixelTop =3D parseInt(el.top);
newEl.style.pixelLeft =3D parseInt(el.left);
if (null!=3Del.clip)=20
{
newEl.offsetWidth =3D el.clip.width; =09
newEl.offsetHeight =3D el.clip.height
}
=09
if ( el.visibility =3D=3D NAV_HIDDEN )
newEl.style.visibility =3D IE_HIDDEN;
else if ( el.visibility =3D=3D NAV_VISIBLE )
newEl.style.visibility =3D IE_VISIBLE;
else if ( el.visibility =3D=3D NAV_INHERIT )
newEl.style.visibility =3D IE_INHERIT;
else
newEl.style.visibility =3D "";
=09
newEl.style.zIndex =3D el.zIndex;
newEl.style.backgroundColor =3D el.bgColor;
newEl.style.backgroundImage =3D "url("+el.background+")";
newEl.NSLayer =3D el; =09
=09
=09
=09
for (var intLoop =3D 0; intLoop< el.document.images.length; intLoop++)
{
var image =3D el.document.images[intLoop] =09
var imageName =3D image.name; =09
if ( imageName =3D=3D null ) =09
continue; =09
=09
document.all[imageName] =3D image; =09
document.images[imageName] =3D image; =09
}
=09
for (var intLoop =3D 0; intLoop< el.document.forms.length; intLoop++)=20
{
var form =3D el.document.forms[intLoop]; =09
var formName =3D form.name; =09
if ( formName =3D=3D null )
continue;
document.all[formName] =3D form; =09
document.forms[formName] =3D form; =09
=09
for ( var innerLoop =3D 0; innerLoop < form.elements.length; =
innerLoop++)
{
var element =3D form.elements[innerLoop]=09
var elementName =3D element.name;
if ( elementName =3D=3D null ) =09
continue;
document.all[elementName] =3D element;=09
}
}
if ( el.layers.length > 0 ) =09
Extract(el) =09
}
}
function Scene( duration )
{
this.duration =3D duration;
}
function InitializeScenes()
{
var objScene; =09
var sceneNumber =3D 0; =09
=09
for ( sceneName in Scenes )
{
objScene =3D Scenes[sceneName]; =09
objScene.number =3D parseInt(sceneNumber); =09
objScene.name =3D sceneName; =09
objScene.HTML =3D document.all[sceneName]; =09
SetVisibility( objScene.HTML, IE_HIDDEN );=09
if ( Project.rtReq =3D=3D RR_PAGE_BUTTONS ) =09
objScene.duration =3D DUR_FOREVER;
InitializePlayers( objScene ); =09
=09
if ( objScene.entryTrans =3D=3D null )
{
objScene.entryTrans =3D new Object();
objScene.entryTrans.type =3D NULL_TRANSITION;
}
=09
if ( objScene.Bhv !=3D null )
for ( var bhvIdx=3D0; (bhv=3DobjScene.Bhv[bhvIdx]) !=3D null; =
bhvIdx++ )=09
bhv.Initialize( objScene, bhv);
objScene.numBhv =3D bhvIdx; =09
sceneArray[sceneNumber++] =3D objScene;=09
}
nScenes =3D sceneNumber; =09
}
function StopEverythingOnScenes( fPause )
{
var objScene; =09
for ( sceneName in Scenes )
{
objScene =3D Scenes[sceneName]; =09
=09
=09
if ( objScene.Bhv !=3D null )
for ( var bhvIdx=3D0; (bhv=3DobjScene.Bhv[bhvIdx]) !=3D null; =
bhvIdx++ )=09
bhv.StopEverything( bhv, fPause );
StopEverythingOnPlayers( objScene, fPause ); =09
}
return;
}
function ChangeScene( nextSceneNumber )
{
var previousScene =3D currentScene; =09
StopSceneTimers(); =09
currentScene =3D GetSceneFromNumber( nextSceneNumber );=09
currentScene.previousScene =3D previousScene; =09
if ( currentScene.duration =3D=3D null ) =09
currentScene.duration =3D DEFAULT_SCENE_DURATION; =09
=09
if ( currentScene.Bhv !=3D null )
for ( var bhvIdx=3D0; bhvIdx<currentScene.numBhv; bhvIdx++ )=09
{
var bhv =3D currentScene.Bhv[bhvIdx]
if ( bhv =3D=3D null) =09
continue;
var delay =3D bhv.delay
if ( (delay =3D=3D null) || (delay =3D=3D DELAY_NONE) )=09
bhv.Start( bhv ); =09
else if ( delay > 0 ) =09
StartOneShotTimer( bhv, bhv.delay, bhv.Start, TMR_SCENE );
}
StartScenePlayers( currentScene ); =09
StartTransition( currentScene, currentScene.entryTrans, IE_VISIBLE, =
SceneTransitionDone );=09
=09
if ( currentScene.duration !=3D DUR_FOREVER ) =09
StartOneShotTimer( currentScene, currentScene.duration, SceneExit, =
TMR_SCENE );
StatusChange(); =09
return;
}
function SceneTransitionDone( objScene )
{
=09
=09
if ( currentScene.previousScene !=3D null )
SetVisibility( currentScene.previousScene.HTML, IE_HIDDEN );
=09
if ( currentScene.Bhv !=3D null )
for ( bhvIdx=3D0; bhvIdx<currentScene.numBhv; bhvIdx++ )=09
{
var bhv =3D currentScene.Bhv[bhvIdx]
if ( bhv =3D=3D null) =09
continue;
if ( bhv.delay =3D=3D DELAY_UNTIL_TRANSITION )=09
bhv.Start( bhv ); =09
}
=09
StartScenePlayersAfterTransition( currentScene );=09
}
function SceneExit( thisScene, nextScene )
{
var nextSceneNumber =3D nextScene =3D=3D null ? currentScene.number+1 : =
nextScene.number;
var finalScene =3D (nextSceneNumber <=3D Project.stopScene) ? false : =
true;
=09
=09
=09
for ( playerName in currentScene.Players )
{
objPlayer =3D currentScene.Players[playerName]; =09
PlayerExitTransitionDone( objPlayer, finalScene ); =09
}
=09
if ( currentScene.Bhv !=3D null )
for ( bhvIdx=3D0; bhvIdx<currentScene.numBhv; bhvIdx++ )=09
{
var bhv =3D currentScene.Bhv[bhvIdx]
if ( bhv =3D=3D null) =09
continue;
if ( bhv.duration =3D=3D DUR_UNTIL_DONE ) =09
bhv.Stop( bhv ); =09
}
=09
=09
if ( finalScene =3D=3D false ) =09
ChangeScene( nextSceneNumber ) =09
else
ProjectComplete() =09
=09
}
function Player( delay, duration )
{
this.delay =3D delay;
this.duration =3D duration;
}
function InitializePlayers( objScene )
{
var objPlayer; =09
var playerNumber =3D 0; =09
for ( playerName in objScene.Players )
{
objPlayer =3D objScene.Players[playerName]; =09
objPlayer.number =3D playerNumber; =09
objPlayer.name =3D playerName; =09
objPlayer.HTML =3D document.all[playerName]; =09
SetVisibility( objPlayer.HTML, IE_HIDDEN ); =09
objPlayer.position =3D new Position(objPlayer); =09
=09
if ( objPlayer.delay =3D=3D null ) =09
objPlayer.delay =3D DEFAULT_PLAYER_DELAY; =09
=09
=09
if ( objPlayer.entryTrans =3D=3D null )
{
objPlayer.entryTrans =3D new Object();
objPlayer.entryTrans.type =3D NULL_TRANSITION;
}=20
=09
else if ((objPlayer.entryTrans !=3D null) && =09
(GetPlayerTypeFromName(objPlayer.name) =3D=3D PLAYER_TEXT))
{
if ( (objPlayer.entryTrans.type =3D=3D TEXT_FLYIN) || =
(objPlayer.entryTrans.type =3D=3D TEXT_TYPEWRITER) )
if ( InitializeTextFlyin( objPlayer ) =3D=3D false )
objPlayer.entryTrans.type =3D null; =09
}
=09
if ( objPlayer.exitTrans =3D=3D null )
{
objPlayer.exitTrans =3D new Object();
objPlayer.exitTrans.type =3D NULL_TRANSITION;
}
=09
if ( objPlayer.Bhv !=3D null )
{
for ( bhvIdx=3D0; (bhv=3DobjPlayer.Bhv[bhvIdx]) !=3D null; bhvIdx++ ) =
bhv.Initialize( objPlayer, bhv);
objPlayer.numBhv =3D bhvIdx; =09
}
else
objPlayer.numBhv =3D 0;
playerNumber ++; =09
}=09
}
function StopEverythingOnPlayers( objScene, fPause )
{
var objPlayer; =09
for ( playerName in objScene.Players )
{
objPlayer =3D objScene.Players[playerName]; =09
=09
=09
if ( objPlayer.Bhv !=3D null )
{
for ( bhvIdx=3D0; (bhv=3DobjPlayer.Bhv[bhvIdx]) !=3D null; bhvIdx++ ) =
bhv.StopEverything( bhv, fPause );
}
DisableTrigger( objPlayer ); =09
}=09
return;
}
function StartScenePlayers( objScene )
{
=09
for ( playerName in objScene.Players )
{
objPlayer =3D objScene.Players[playerName]; =09
=09
=09
=09
if ( objPlayer.delay =3D=3D DELAY_NONE ) =09
StartPlayer( objPlayer ) =09
else if ( objPlayer.delay > 0 ) =09
StartOneShotTimer( objPlayer, objPlayer.delay, StartPlayer, =
TMR_SCENE);
}
}
function StartScenePlayersAfterTransition( objScene )
{
=09
for ( playerName in objScene.Players )
{
objPlayer =3D objScene.Players[playerName]; =09
if ( objPlayer.delay =3D=3D DELAY_UNTIL_TRANSITION )=09
StartPlayer( objPlayer ) =09
}
}
function StartPlayer( objPlayer )
{
=09
if ( objPlayer.Bhv !=3D null )
for ( bhvIdx=3D0; bhvIdx<objPlayer.numBhv; bhvIdx++ )=09
{
var bhv =3D objPlayer.Bhv[bhvIdx]
if ( bhv =3D=3D null) =09
continue;
var delay =3D bhv.delay
if ( (delay =3D=3D null) || (delay =3D=3D DELAY_NONE) )=09
bhv.Start( bhv ); =09
else if ( delay > 0 ) =09
StartOneShotTimer( bhv, bhv.delay, bhv.Start, TMR_SCENE );
}
=09
StartTransition( objPlayer, objPlayer.entryTrans, IE_VISIBLE, =
PlayerEntryTransitionDone );
=09
=09
if ( objPlayer.duration > 0 )
StartOneShotTimer( objPlayer, objPlayer.duration, PlayerExit, =
TMR_SCENE ); =09
}
function PlayerEntryTransitionDone( objPlayer )
{
=09
if ( objPlayer.Bhv !=3D null )
for ( bhvIdx=3D0; bhvIdx<objPlayer.numBhv; bhvIdx++ )=09
{
var bhv =3D objPlayer.Bhv[bhvIdx]
if ( bhv =3D=3D null) =09
continue;
if ( bhv.delay =3D=3D DELAY_UNTIL_TRANSITION )=09
bhv.Start( bhv ); =09
}
=09
if ( objPlayer.Triggers !=3D null )
EnableTrigger( objPlayer );
}
function PlayerExit( objPlayer )
{
=09
StartTransition( objPlayer, objPlayer.exitTrans, IE_HIDDEN, =
PlayerExitTransitionDone );
}
function PlayerExitTransitionDone( objPlayer, finalScene )
{
=09
if ( objPlayer.Bhv !=3D null )
for ( bhvIdx=3D0; bhvIdx<objPlayer.numBhv; bhvIdx++ )=09
{
var bhv =3D objPlayer.Bhv[bhvIdx]
if ( bhv =3D=3D null) =09
continue;
if ( bhv.duration =3D=3D DUR_UNTIL_DONE ) =09
bhv.Stop( bhv ); =09
}
=09
if ( (finalScene =3D=3D null) || (finalScene =3D=3D false) )
SetVisibility( objPlayer.HTML, IE_HIDDEN ); =09
=09
=09
=09
if ( (sys !=3D "Netscape") && (objPlayer.HTML.Preview !=3D null) )
SetVisibility( objPlayer.HTML, IE_VISIBLE );=20
return;
}
function Trigger( trigType, trigBhv, player, scene )
{
this.triggerType =3D trigType;
this.triggerBhv =3D trigBhv;
this.player =3D player;
this.nextSceneNum =3D scene;
}
function EnableTrigger( objPlayer )
{
if ( sys !=3D "Netscape" ) =09
{
objPlayer.HTML.style.cursor=3D"hand"; =09
for ( trx in objPlayer.Triggers ) =09
{
var trigger =3D objPlayer.Triggers[trx]; =09
if ( trigger.triggerType =3D=3D null )
trigger.triggerType =3D 0; =09
var tt =3D trigger.triggerType; =09
if ( tt =3D=3D TT_ALL_MOUSE_EVENTS ) =09
{
objPlayer.HTML.onmousedown =3D EventProcessor;
objPlayer.HTML.onmouseup =3D EventProcessor;=09
objPlayer.HTML.onmouseover =3D EventProcessor; =09
objPlayer.HTML.onmouseout =3D EventProcessor;
}
else if ( tt =3D=3D TT_BUTTONDOWN ) =09
objPlayer.HTML.onmousedown =3D EventProcessor;
else if ( tt =3D=3D TT_BUTTONUP ) =09
objPlayer.HTML.onmouseup =3D EventProcessor;
else if ( tt =3D=3D TT_MOUSEOVER ) =09
objPlayer.HTML.onmouseover =3D EventProcessor;
else if ( tt =3D=3D TT_MOUSEOUT ) =09
objPlayer.HTML.onmouseout =3D EventProcessor;
}
}
else =09
{
for ( trx in objPlayer.Triggers ) =09
{
var trigger =3D objPlayer.Triggers[trx];=09
if ( trigger.triggerType =3D=3D null )
trigger.triggerType =3D 0; =09
var tt =3D trigger.triggerType; =09
if ( tt=3D=3D 0 ) =09
{
objPlayer.HTML.NSLayer.captureEvents( Event.MOUSEUP | =
Event.MOUSEDOWN | Event.MOUSEOVER | Event.MOUSEOUT );
objPlayer.HTML.NSLayer.onMouseUp =3D EventProcessor;
objPlayer.HTML.NSLayer.onMouseDown =3D EventProcessor;
objPlayer.HTML.NSLayer.onMouseOver =3D EventProcessor;
objPlayer.HTML.NSLayer.onMouseOut =3D EventProcessor;
}
else if ( tt =3D=3D TT_BUTTONUP )
{
objPlayer.HTML.NSLayer.captureEvents(Event.MOUSEUP);
objPlayer.HTML.NSLayer.onMouseUp =3D EventProcessor;
}
else if ( tt =3D=3D TT_BUTTONDOWN )
{
objPlayer.HTML.NSLayer.captureEvents(Event.MOUSEDOWN);
objPlayer.HTML.NSLayer.onMouseDown =3D EventProcessor;
}
}
=09
}
}
function DisableTrigger( objPlayer )
{
if ( sys !=3D "Netscape" ) =09
{
objPlayer.HTML.onmousedown =3D null;
objPlayer.HTML.onmouseup =3D null;=09
objPlayer.HTML.onmouseover =3D null; =09
objPlayer.HTML.onmouseout =3D null;
}
else =09
objPlayer.HTML.NSLayer.releaseEvents(Event.MOUSEUP | Event.MOUSEDOWN | =
Event.MOUSEOVER | Event.MOUSEOUT );
}
function EventProcessor( e )
{
var trigger; =09
var type; =09
var button; =09
var eventType; =09
var objPlayer; =09
if ( (objPlayer =3D GetPlayerFromName(this.id)) =3D=3D null)=09
return;
if ( sys !=3D "Netscape" ) =09
{
type =3D event.type;
button =3D event.button;
}
else =09
{
type =3D e.type;
button =3D e.which;
}
=09
if (type =3D=3D "mousedown")
{
if ( button !=3D 1 ) =09
return;
eventType =3D TT_BUTTONDOWN;
if ( sys =3D=3D "Netscape" ) =09
{
objPlayer.HTML.NSLayer.releaseEvents(Event.MOUSEDOWN);
objPlayer.HTML.NSLayer.captureEvents(Event.MOUSEDOWN);
}
}
else if (type =3D=3D "mouseup")
{
if ( button !=3D 1 ) =09
return;
eventType =3D TT_BUTTONUP;
if ( sys =3D=3D "Netscape" ) =09
{
objPlayer.HTML.NSLayer.releaseEvents(Event.MOUSEUP);
objPlayer.HTML.NSLayer.captureEvents(Event.MOUSEUP);
}
}
else if (type =3D=3D "mouseover")
{
eventType =3D TT_MOUSEOVER;
}
else if (type =3D=3D "mouseout")
{
eventType =3D TT_MOUSEOUT;
}
var triggerArray =3D objPlayer.Triggers; =09
var trigger; =09
=09
for ( var trx=3D0; (trigger=3DtriggerArray[trx]) !=3D null; trx++ )
{
if ( (trigger.triggerType =3D=3D 0) || (trigger.triggerType =3D=3D =
eventType) )
{
=09
=09
=09
if ( trigger.triggerBhv =3D=3D TB_PAGE_TURNER )
{
=09
=09
if ( (trigger.nextSceneNum =3D=3D null) || (trigger.nextSceneNum =
=3D=3D "") )
SceneExit( currentScene );
else
{
if ( Scenes[trigger.nextSceneNum].number < currentScene.number )
{
for ( ii=3D0; ii<=3DcurrentScene.number; ii++ )
InitializePlayers( sceneArray[ii] );
}
SceneExit( currentScene, Scenes[trigger.nextSceneNum] );
}
}
else if ( trigger.triggerBhv =3D=3D TB_START_PLAYER )
StartPlayer( GetPlayerFromName( trigger.player ) ); =09
else=20
{
=09
var objTrigPlayer =3D GetPlayerFromName( trigger.player ); =09
var bhv =3D objTrigPlayer.Bhv[trigger.triggerBhv]; =09
bhv.Trigger( bhv, eventType ); =09
} =09
}
}
return;=09
}
function Transition( type, rate, flyFrom, flySubtype )
{
this.type =3D type;
this.rate =3D rate;
this.flyFrom =3D flyFrom;
this.flySubtype =3D flySubtype;
}
function StartTransition( transObj, trans, visibility, callback )
{
var playerType =3D GetObjectTypeFromName( transObj.name ); =09
=09
=09
=09
if ( ("Netscape" =3D=3D sys) ||=20
( (playerType =3D=3D OBJ_PLAYER) && (trans.type =3D=3D =
NULL_TRANSITION) ) )
{
SetVisibility( transObj.HTML, visibility );
callback( transObj );
return;
}
=09
=09
=09
=09
if ( ((trans.type =3D=3D TEXT_FLYIN) || (trans.type =3D=3D =
TEXT_TYPEWRITER)) && (visibility =3D=3D IE_VISIBLE) )
{
StartTextFlyin( transObj );
return;
}
=09
if ( platform !=3D "Win32" )
{
SetVisibility( transObj.HTML, visibility );
callback( transObj );
return;
}
=09
=09
=09
=09
=09
=09
if ( trans.type =3D=3D NULL_TRANSITION )
{
transObj.HTML.style.filter =3D "revealTrans(duration=3D0, =
transition=3D0)";
}
else =09
{
duration =3D TRANSITION_RATES[trans.rate];
transObj.HTML.style.filter =3D "revealTrans(duration=3D" + duration + =
", transition=3D" + trans.type + ")";
}
stNoInput++; =09
transObj.HTML.filters(0).Apply(); =09
=09
SetVisibility( transObj.HTML, visibility ); =09
=09
transObj.HTML.filters(0).Play() =09
transObj.HTML.onfilterchange =3D TransitionDoneEvent;=09
}
function TransitionDoneEvent( )
{
var type =3D GetObjectTypeFromName( event.srcElement.id ); =09
stNoInput--; =09
if ( type =3D=3D OBJ_SCENE )
{
=09
if ( (currentScene !=3D null) && (event.srcElement.id =3D=3D =
currentScene.name) )
SceneTransitionDone();
}
else if ( type =3D=3D OBJ_PLAYER ) =09
{
var objPlayer =3D GetPlayerFromName( event.srcElement.id );
if ( this.style.visibility =3D=3D IE_VISIBLE ) =09
PlayerEntryTransitionDone( objPlayer ); =20
else =09
PlayerExitTransitionDone( objPlayer, false );
}
return;
}
function InitializeTextFlyin( objPlayer )
{
if ( sys =3D=3D "Netscape" ) =09
return false;
var transition =3D objPlayer.entryTrans; =09
var transUnits =3D transition.flySubtype; =09
var movePerTick =3D parseInt(FLYIN_PER_TICK[transition.rate]);=09
=09
var transDirection =3D (transition.type =3D=3D TEXT_FLYIN) ? =
transition.flyFrom : FLYIN_TOP; =09
=09
=09
if ( stProjState =3D=3D PS_UNINITIALIZED )
{
var textHTML =3D objPlayer.HTML; =09
var oldInnerHTML =3D textHTML.innerHTML; =09
var newInnerHTML =3D ""; =09
=09
transition.textOrder =3D new Array(); =09
textOrder =3D transition.textOrder; =09
=09
=09
=09
=09
=09
var flyinIdx =3D 0; =09
var flyinBuffer =3D "";
=09
=09
=09
var spanStyle =3D (transition.type =3D=3D TEXT_FLYIN) ? " =
style=3D'position:relative;visibility:hidden;'" : " =
style=3D'visibility:hidden;'";
for ( var letterIdx=3D0; letterIdx<oldInnerHTML.length; )
{
=09
tempID =3D objPlayer.name+"_tempID"+flyinIdx.toString();
newInnerHTML +=3D "<span id=3D" + tempID + spanStyle + ">";
while ( letterIdx<oldInnerHTML.length )
{
=09
=09
=09
if ( ( (charNext =3D oldInnerHTML.substring(letterIdx, letterIdx+1)) =
=3D=3D "<") || (charNext =3D=3D "&") ) =09
{
if ( charNext =3D=3D "<" ) =09
endTagIdx =3D oldInnerHTML.indexOf( ">", letterIdx );=09
else
endTagIdx =3D oldInnerHTML.indexOf( ";", letterIdx );=09
var tagString =3D oldInnerHTML.substring( letterIdx, ++endTagIdx );
newInnerHTML +=3D tagString;
letterIdx =3D endTagIdx; =09
=09
if ( ((tagString =3D=3D "</P>") || (tagString =3D=3D "<BR>")) &&
(transUnits !=3D FLYIN_BY_LETTER) ) =09
break;
}
=09
else
{
thisChar =3D oldInnerHTML.substring( letterIdx, ++letterIdx );
newInnerHTML +=3D thisChar;
if ( transUnits =3D=3D FLYIN_BY_LETTER ) =09
break; =09
else if ( (transUnits =3D=3D FLYIN_BY_WORD ) && thisChar =3D=3D " " =
) =09
break;
}
}
newInnerHTML +=3D "</span>"
textOrder[flyinIdx] =3D new Object();
textOrder[flyinIdx].name =3D tempID; =09
flyinIdx++; =09
}
=09
if ( flyinIdx =3D=3D 0 )
return false;
=09
textHTML.innerHTML =3D newInnerHTML;
transition.numUnits =3D flyinIdx; =09
}
=09
=09
=09
textOrder =3D transition.textOrder;
var currentEl =3D document.all[textOrder[0].name]; =09
var currentOffset =3D currentEl.offsetLeft;=09
var previousEl, previousOffset;
for ( var count=3D0; count<transition.numUnits; count++ ) =09
{
previousOffset =3D currentOffset; =09
previousEl =3D currentEl;
textElName =3D textOrder[count].name; =09
currentEl =3D document.all[textElName];
SetVisibility( currentEl, IE_HIDDEN );
currentOffset =3D currentEl.offsetTop;
=09
=09
=09
=09
=09
=09
if ( currentOffset !=3D previousOffset ) =09
if ( previousEl.innerHTML =3D=3D " " ) =09
previousEl.innerHTML =3D "<br>";
if ( transDirection =3D=3D FLYIN_ROTATE ) =09
direction =3D count % FLYIN_ROTATE; =09
else
direction =3D transDirection;
=09
if ( direction =3D=3D FLYIN_LEFT )
{
tempPos =3D -(currentEl.offsetParent.offsetLeft + =
currentEl.offsetParent.offsetWidth);
currentEl.style.posLeft =3D tempPos; =09
textOrder[count].dx =3D -movePerTick; =09
textOrder[count].dy =3D 0;
textOrder[count].iterations =3D tempPos / (-movePerTick);=09
}
else if ( direction =3D=3D FLYIN_RIGHT )
{
tempPos =3D objPlayer.HTML.parentElement.offsetWidth - =
currentEl.offsetParent.offsetLeft;
currentEl.style.posLeft =3D tempPos;
textOrder[count].dx =3D movePerTick; =09
textOrder[count].dy =3D 0;
textOrder[count].iterations =3D tempPos / movePerTick;=09
}
else if ( direction =3D=3D FLYIN_TOP )
{
tempPos =3D -(currentEl.offsetParent.style.posTop + =
currentEl.offsetParent.offsetHeight);
currentEl.style.posTop =3D tempPos;
textOrder[count].dx =3D 0;
textOrder[count].dy =3D (-movePerTick); =09
textOrder[count].iterations =3D tempPos / (-movePerTick);=09
}
else if ( direction =3D=3D FLYIN_BOTTOM )
{
tempPos =3D objPlayer.HTML.parentElement.offsetHeight - =
currentEl.offsetParent.style.posTop;
currentEl.style.posTop =3D tempPos;
textOrder[count].dx =3D 0;
textOrder[count].dy =3D movePerTick; =09
textOrder[count].iterations =3D tempPos / movePerTick;=09
}
}
=09
transition.charIdx =3D 0; =09
transition.moveIdx =3D 0; =09
textElName =3D transition.textOrder[0].name;
transition.currentEl =3D document.all[textElName];=09
SetVisibility( transition.currentEl, IE_VISIBLE );
return true;
}
function StartTextFlyin( objPlayer )
{
=09
SetVisibility( objPlayer.HTML, IE_VISIBLE );
StartAnimationTimer( objPlayer, TextFlyinTick );
}
function TextFlyinTick( objPlayer )
{
var transition =3D objPlayer.entryTrans; =09
var spanObj =3D transition.textOrder[transition.charIdx]; =09
var textEl =3D transition.currentEl; =09
=09
=09
if ( ++transition.moveIdx < spanObj.iterations) =09
{
textEl.style.posTop -=3D spanObj.dy; =09
textEl.style.posLeft -=3D spanObj.dx;
return false; =09
}
=09
=09
textEl.style.posTop =3D 0; =09
textEl.style.posLeft =3D 0;
=09
=09
if ( (charIdx =3D ++transition.charIdx) >=3D =
transition.textOrder.length )=09
{
PlayerEntryTransitionDone( objPlayer ); =09
return true; =09
}
else
{
transition.moveIdx =3D 0; =09
textElName =3D transition.textOrder[charIdx].name;
transition.currentEl =3D document.all[textElName]; =09
transition.currentEl.style.visibility =3D IE_VISIBLE; =09
return false; =09
} =09
}
var SND_DUR_SCENE =3D -1;=09
var SND_DUR_PROJECT =3D 0;=09
var ST_WAV =3D 1;=09
var ST_MID =3D 2;=09
var NAV_EXT =3D "nav"=09
var MidiTag =3D null;=09
function Sound( delay, duration, loop, soundType, tagName, fileName )
{
=09
this.Initialize =3D InitializeSound;
this.Start =3D StartSound;
this.Trigger =3D StartSound;
this.Stop =3D StopSound;
this.StopEverything =3D StopEverythingOnSounds;
=09
this.delay =3D delay;
this.duration =3D duration;
this.loop =3D loop;
this.tagName =3D tagName;
this.fileName =3D fileName;
this.soundType =3D soundType;
}
function InitializeSound( objParent, objSound )
{
if ( sys =3D=3D "Netscape" )
{
objSound.navLoop =3D (objSound.loop =3D=3D -1) ? true : false;
objSound.html =3D document[objSound.tagName+NAV_EXT];
return;
}
objSound.objParent =3D objParent; =09
objSound.html =3D document.all[objSound.tagName];=09
objSound.fileName =3D objSound.html.soundsrc; =09
=09
=09
if (objSound.soundType =3D=3D ST_MID )
{
if ( MidiTag =3D=3D null ) =09
MidiTag =3D objSound.html; =09
else
objSound.html =3D MidiTag; =09
} =09
}
function StartSound( objSound )
{
if ( sys =3D=3D "Netscape" ) =09
{
if ( objSound.html !=3D null ) =09
objSound.html.play(objSound.navLoop);
return;
}
objSound.html.src =3D objSound.fileName; =09
objSound.html.loop =3D objSound.loop; =09
if ( objSound.soundType =3D=3D ST_WAV ) =09
objSound.html.volume =3D 0; =09
if ( objSound.duration > 0 )
StartOneShotTimer( objSound, objSound.duration, objSound.Stop, =
TMR_PROJ );
}
function StopSound( objSound, fPause )
{
if ( sys =3D=3D "Netscape" ) =09
{
if ( objSound.html !=3D null ) =09
objSound.html.stop();
return;
}
objSound.html.loop =3D 0;
objSound.html.src =3D ""; =09
if ( objSound.soundType =3D=3D ST_WAV )
objSound.html.volume =3D -10000;
}
function StopEverythingOnSounds( objSound )
{
StopSound( objSound, true );
if ( (sys !=3D "Netscape") && (os =3D=3D "NT") ) =09
objSound.html.volume =3D -500; =09
}
var SND_DUR_SCENE =3D -1;=09
var SND_DUR_PROJECT =3D 0;=09
function Swapper( idle, hover, click )
{
=09
this.Initialize =3D InitializeSwap;
this.Start =3D StartSwap;
this.Trigger =3D TriggerSwap;
this.Stop =3D StopSwap;
this.StopEverything =3D StopSwap;
=09
this.idle =3D idle;
this.hover =3D hover;
this.click =3D click;
}
function InitializeSwap( objParent, objSwap )
{
if ( stProjState !=3D PS_UNINITIALIZED ) =09
return;
=09
var idle =3D objSwap.idle; =09
var hover =3D objSwap.hover;
var click =3D objSwap.click;
=09
=09
=09
=09
=09
=09
=09
if ( (hover !=3D null) && (hover !=3D "") && (document.all[hover].src =
!=3D null) )
{
SetVisibility( document.all[hover], IE_HIDDEN );
objSwap.srcHover =3D document.all[hover].src;
document.all[hover].src =3D "";
}
else
objSwap.srcHover =3D document.all[idle].src;
if ( (click !=3D null) && (click !=3D "") && (document.all[click].src =
!=3D null) )
{
SetVisibility( document.all[click], IE_HIDDEN );
objSwap.srcClick =3D document.all[click].src;
document.all[click].src =3D "";
}
else
objSwap.srcClick =3D document.all[idle].src;
=09
objSwap.srcIdle =3D document.all[idle].src;
}
function StartSwap( objSwap )
{
=09
}
function TriggerSwap( objSwap, eventType )
{
if ( eventType =3D=3D TT_BUTTONDOWN )
document.all[objSwap.idle].src =3D objSwap.srcClick;
else if ( eventType =3D=3D TT_BUTTONUP )
document.all[objSwap.idle].src =3D objSwap.srcHover;
else if ( eventType =3D=3D TT_MOUSEOVER )
document.all[objSwap.idle].src =3D objSwap.srcHover;
else if ( eventType =3D=3D TT_MOUSEOUT )
document.all[objSwap.idle].src =3D objSwap.srcIdle;
return;
}
function StopSwap( objSwap, fPause )
{
if ( fPause ) =09
return;
}
var PATH_PER_TICK =3D new Array(50,40,30,20,10); =09
var PE_STOP =3D 0; =09
var PE_AGAIN =3D 1; =09
var PE_REV =3D 2; =09
var PE_EXIT =3D 3; =09
var PD_FWD =3D 1;
var PD_BACK =3D -1;
function Point( x, y, rate )
{
this.x =3D x;
this.y =3D y;
this.rate =3D rate;
}
function Paths( delay, edgeEffect )
{
=09
this.Initialize =3D InitializePathAnimation;
this.Start =3D StartPathAnimation;
this.Trigger =3D StartPathAnimation;
this.Stop =3D StopPathAnimation;
this.StopEverything =3D StopPathAnimation;
=09
this.delay =3D delay;
this.edgeEffect =3D edgeEffect;
}
function InitializePathAnimation( objPlayer, path )
{
var segment; =09
var pathIndex;
var totalDistance; =09
var distanceX; =09
var distanceY;
var dx; =09
var dy;
var travelTime; =09
var remX; =09
var remY;
=09
if ( stProjState !=3D PS_UNINITIALIZED )
{
objPlayer.position.SetPosition( path[0].x, path[0].y );
return;
}
path.objPlayer =3D objPlayer; =09
halfWidth =3D Math.floor(objPlayer.HTML.offsetWidth/2); =09
halfHeight =3D Math.floor(objPlayer.HTML.offsetHeight/2);
=09
=09
path[0].x -=3D halfWidth;
path[0].y -=3D halfHeight;
objPlayer.position.SetPosition( path[0].x, path[0].y );
for ( pathIndex=3D0; path[pathIndex+1] !=3D null; pathIndex++ )=09
{
px =3D parseInt(pathIndex); =09
segment =3D path[px]; =09
=09
=09
=09
path[px+1].x -=3D halfWidth;
path[px+1].y -=3D halfHeight;
=09
distanceX =3D path[px+1].x - segment.x; =09
distanceY =3D path[px+1].y - segment.y; =09
=09
totalDistance =3D Math.sqrt( (distanceX*distanceX) + =
(distanceY*distanceY) );
=09
=09
travelTime =3D Math.round(totalDistance / =
PATH_PER_TICK[segment.rate]);
=09
=09
if ( distanceX > 0 ) =09
dx =3D Math.floor( distanceX / travelTime );=09
else if ( distanceX < 0 ) =09
dx =3D Math.ceil( distanceX / travelTime );=09
else
dx =3D 0;
=09
=09
=09
=09
remX =3D distanceX % travelTime;
=09
if ( distanceY > 0 ) =09
dy =3D Math.floor( distanceY / travelTime );
else if ( distanceY < 0 )
dy =3D Math.ceil( distanceY / travelTime );
else
dy =3D 0;
remY =3D distanceY % travelTime;
segment.number =3D px; =09
segment.ticks =3D 0;
segment.travelTime =3D travelTime;
segment.dx =3D dx;
segment.dy =3D dy;
segment.remX =3D remX;
segment.remY =3D remY;
}
path.numSegs =3D parseInt(pathIndex); =09
path.dir =3D PD_FWD; =09
return;
}
function StartPathAnimation( path )
{
path.currentSegment =3D path[0]; =09
path.currentSegment.ticks =3D 0; =09
path.cntSegs =3D 0; =09
=09
=09
if ( path.dir =3D=3D PD_BACK ) =09
{
for ( var ii=3D0; ii<path.numSegs; ii++ ) =09
{
path[ii].dx *=3D -1;
path[ii].dy *=3D -1;
path[ii].remX *=3D -1;
path[ii].remY *=3D -1;
}
path.dir =3D PD_FWD; =09
}
StartAnimationTimer( path, PathAnimationTick );
}
function StopPathAnimation( path, fPause )
{
return;
}
function PathAnimationTick( path )
{
var objPlayer =3D path.objPlayer; =09
var segment =3D path.currentSegment; =09
var currentPosition =3D objPlayer.position;=09
if ( ++segment.ticks <=3D segment.travelTime ) =09
{
newX =3D currentPosition.x + segment.dx; =09
if ( segment.ticks <=3D Math.abs(segment.remX) )=09
segment.remX > 0 ? newX++ : newX--;
newY =3D currentPosition.y + segment.dy; =09
if ( segment.ticks <=3D Math.abs(segment.remY) )=09
segment.remY > 0 ? newY++ : newY--;
currentPosition.SetPosition( newX, newY );=09
return false; =09
}
=09
=09
if ( ++path.cntSegs < path.numSegs )
{
=09
path.currentSegment =3D path[segment.number+path.dir]; =09
path.currentSegment.ticks =3D 0; =09
=09
return false;
}
=09
=09
if ( path.edgeEffect =3D=3D PE_AGAIN ) =09
{
=09
objPlayer.position.SetPosition( path[0].x, path[0].y );
=09
path.currentSegment =3D path[0]; =09
path.currentSegment.ticks =3D 0; =09
path.cntSegs =3D 0; =09
return false; =09
} =09
else if ( path.edgeEffect =3D=3D PE_REV ) =09
{
path.dir *=3D -1; =09
=09
for ( var ii=3D0; ii<path.numSegs; ii++ )
{
path[ii].dx *=3D -1;
path[ii].dy *=3D -1;
path[ii].remX *=3D -1;
path[ii].remY *=3D -1;
}
path.currentSegment.ticks =3D 0; =09
path.cntSegs =3D 0; =09
return false;
}
else if ( path.edgeEffect =3D=3D PE_EXIT )
{
PlayerExit( objPlayer );
return true;
}
else
return true; =09
}
var GROW_PER_TICK =3D new Array(20,14,8,4,1); =09
function Size( zoom, rate )
{
this.zoom =3D zoom;
this.rate =3D rate;
}
function Grows( delay )
{
=09
this.Initialize =3D InitializeGrowAnimation;
this.Start =3D StartGrowAnimation;
this.Trigger =3D StartGrowAnimation;
this.Stop =3D StopGrowAnimation;
this.StopEverything =3D StopGrowAnimation;
=09
this.delay =3D delay;
}
function InitializeGrowAnimation( objPlayer, grow )
{
if ( sys =3D=3D "Netscape" )
return;
var child =3D objPlayer.HTML.children[0]; =09
var playerType =3D GetPlayerTypeFromName( objPlayer.name );=09
=09
=09
=09
if ( stProjState =3D=3D PS_UNINITIALIZED )
{
grow.realWidth =3D child.width;
grow.realHeight =3D child.height;
}
if ( (playerType =3D=3D PLAYER_TEXT) || sys =3D=3D "Netscape" )=09
{
grow =3D null; =09
return;
}
grow.objPlayer =3D objPlayer; =09
=09
grow.currentSegment =3D grow[0]; =09
grow.currentGrowth =3D grow.currentSegment.zoom; =09
=09
=09
=09
child.width *=3D (grow.currentSegment.zoom / 100); =09
child.height *=3D (grow.currentSegment.zoom / 100);
=09
for ( var growIndex=3D0; grow[growIndex] !=3D null; growIndex++ )=09
{
gx =3D parseInt(growIndex); =09
segment =3D grow[gx]; =09
if ( grow[gx+1] =3D=3D null ) =09
{
grow.finalSegment =3D grow[gx-1]; =09
break; =09
}
=09
growth =3D grow[gx+1].zoom - segment.zoom; =09
if ( growth >=3D 0 ) =09
growthFactor =3D GROW_PER_TICK[segment.rate]; =09
else
growthFactor =3D -(GROW_PER_TICK[segment.rate]);
=09
growthTicks =3D growth / growthFactor; =09
=09
segment.number =3D gx; =09
segment.growth =3D growth;
segment.growthFactor =3D growthFactor;
segment.growthTicks =3D growthTicks;
segment.currentTicks =3D 0;
}
}
function StartGrowAnimation( grow )
{=09
if ( sys =3D=3D "Netscape" )
return;
grow.currentSegment =3D grow[0]; =09
grow.currentTicks =3D 0;
StartAnimationTimer( grow, GrowAnimationTick );
}
function StopGrowAnimation( grow, fPause )
{
return;
}
function GrowAnimationTick( grow )
{
if ( sys =3D=3D "Netscape" )
return true; =09
var objPlayer =3D grow.objPlayer; =09
var child =3D objPlayer.HTML.children[0]; =09
var segment =3D grow.currentSegment; =09
grow.currentGrowth +=3D segment.growthFactor; =09
child.width =3D grow.realWidth*(grow.currentGrowth/100);=09
child.height =3D grow.realHeight*(grow.currentGrowth/100);
if ( ++grow.currentTicks <=3D segment.growthTicks ) =09
return false; =09
if ( grow.currentSegment =3D=3D grow.finalSegment ) =09
return true; =09
grow.currentSegment =3D grow[ segment.number+1 ]; =09
grow.currentTicks =3D 0;
return false; =09
}
function Timer()
{
if ( Project.tickRate =3D=3D null ) =09
this.tickRate =3D DEFAULT_TICK_RATE;
else
this.tickRate =3D Project.tickRate;
this.oneShots =3D new Array();
this.animations =3D new Array();
this.tickCounter =3D 0; =09
this.ticksPerSecond =3D 1000 / (this.tickRate);=09
this.timerID =3D null;
this.StartTicking =3D StartTicking; =09
this.StopTicking =3D StopTicking;
=09
}
function StartTicking()
{
if ( this.timerID =3D=3D null )
this.timerID =3D setInterval( "TimerTick()", this.tickRate );
}
function StopTicking()
{
if ( this.timerID !=3D null )
clearInterval( this.timerID );
this.timerID =3D null;
}
function TimerTick()
{
var timerEvent;
=09
for ( var ii=3D0; ii<tickTimer.animations.length; ii++ ) =09
{
if ( (timerEvent=3DtickTimer.animations[ii]) =3D=3D null )=09
continue; =09
if ( timerEvent.callback( timerEvent.callbackObj ) =3D=3D true )=09
tickTimer.animations[ii] =3D null; =09
}
=09
if ( (++tickTimer.tickCounter % tickTimer.ticksPerSecond) =3D=3D 0 )=09
{
=09
var length =3D tickTimer.oneShots.length; =09
for ( var ii=3D0; ii<length && (tickTimer!=3Dnull); ii++ )=09
{
if ( (timerEvent=3DtickTimer.oneShots[ii]) =3D=3D null )=09
continue; =09
=09
if ( timerEvent.time <=3D tickTimer.tickCounter ) =09
{
tickTimer.oneShots[ii] =3D null; =09
timerEvent.callback( timerEvent.callbackObj );=09
}
}
}
return;
}
function StartOneShotTimer( obj, time, callback, type )
{
var timerIndex; =09
var timerEvent =3D new Object(); =09
=09
timerEvent.callbackObj =3D obj; =09
timerEvent.callback =3D callback; =09
timerEvent.type =3D type; =09
=09
=09
timerEvent.time =3D tickTimer.tickCounter + (time * =
tickTimer.ticksPerSecond);
for ( timerIndex=3D0; tickTimer.oneShots[timerIndex]!=3Dnull; =
timerIndex++ );=09
tickTimer.oneShots[timerIndex] =3D timerEvent;=09
return;
}
function StartAnimationTimer( obj, callback )
{
var timerIndex;=20
timerEvent =3D new Object();
timerEvent.callbackObj =3D obj; =09
timerEvent.callback =3D callback; =09
for ( timerIndex=3D0; tickTimer.animations[timerIndex]!=3Dnull; =
timerIndex++);=09
tickTimer.animations[timerIndex] =3D timerEvent;
}
function StopSceneTimers()
{
for (var ii=3D0; ii<tickTimer.oneShots.length; ii++)=09
{
if ( tickTimer.oneShots[ii] =3D=3D null ) =09
continue;
if ( tickTimer.oneShots[ii].type =3D=3D TMR_SCENE )
tickTimer.oneShots[ii] =3D null; =09
}
=09
for (var ii=3D0; ii<tickTimer.animations.length; ii++)
tickTimer.animations[ii] =3D null;
}
=09
function KillTimer()
{
if ( tickTimer !=3D null ) =09
{
window.clearTimeout( tickTimer.timerID);=09
tickTimer =3D null; =09
}
}
function SetColor(el, color)=20
{
if ( el.style =3D=3D null ) =09
return;
=09
el.style.backgroundColor =3D color; =09
if ("Netscape"=3D=3Dsys)=20
el.NSLayer.bgColor =3D color; =09
}
function SetZIndex(el, zindex)=20
{
if ( el.style =3D=3D null ) =09
return;
=09
el.style.zIndex =3D zindex; =09
if ("Netscape"=3D=3Dsys)=20
el.NSLayer.zIndex =3D zindex =09
}
function SetVisibility(el, val)=20
{
if ( el.style =3D=3D null ) =09
return;
el.style.visibility =3D val; =09
=20
if ( "Netscape"=3D=3Dsys ) =09
{
if ( val =3D=3D IE_HIDDEN )
el.NSLayer.visibility =3D NAV_HIDDEN;
else if ( val =3D=3D IE_VISIBLE )
el.NSLayer.visibility =3D NAV_VISIBLE;
else if ( val =3D=3D IE_INHERIT )
el.NSLayer.visibility =3D NAV_INHERIT;
else
el.NSLayer.visibility =3D "";
}
}
function Position( obj )
{
this.object =3D obj; =09
this.x =3D obj.HTML.style.pixelLeft; =09
this.y =3D obj.HTML.style.pixelTop; =09
this.SetPosition =3D SetPosition;
}
function SetPosition( newX, newY )=20
{
var el =3D this.object.HTML; =09
if ( el.style =3D=3D null ) =09
return;
=09
el.style.pixelTop =3D newY; =09
el.style.pixelLeft =3D newX;
this.x =3D newX; =09
this.y =3D newY;
if ( "Netscape"=3D=3Dsys ) =09
{
el.NSLayer.top =3D parseInt( newY );
el.NSLayer.left =3D parseInt( newX );
el.offsetTop =3D el.NSLayer.top;
el.offsetLeft =3D el.NSLayer.left;
}
}
function SetContent(el, content)=20
{
if ( el.style =3D=3D null ) =09
return;
if ( "Netscape"=3D=3Dsys ) =09
{
el.NSLayer.document.open(); =09
el.NSLayer.document.write(content); =09
el.NSLayer.document.close(); =09
}
else =09
el.innerHTML=3Dcontent;
}
function SetupButtons()
{
var rtn =3D false; =09
if ( document.all.Pause !=3D null )
{
document.all.Pause.onclick =3D Pause;
strPause =3D document.all.Pause.value.split( '/' );
document.all.Pause.value =3D strPause[0];
}
if (document.all.Stop !=3D null )
document.all.Stop.onclick =3D Stop;
if ( document.all.Forward !=3D null )
document.all.Forward.onclick =3D Forward;
if ( document.all.Backward !=3D null )
document.all.Backward.onclick =3D Backward;
if ( document.all.Webpage !=3D null )
document.all.Webpage.onclick =3D GotoWebpage;
if ( document.all.SceneStatus !=3D null )
formStatus =3D document.all.SceneStatus;
if ( document.all.Start !=3D null )
{
document.all.Start.onclick =3D Start;
strPlay =3D document.all.Start.value.split( '/' );
document.all.Start.value =3D strPlay[0];
rtn =3D true;
}
else
rtn =3D false;
if ( document.all.NavigationButtons !=3D null )
SetVisibility( document.all.NavigationButtons, IE_VISIBLE );
return rtn;
}
function Start()
{
if ( stNoInput ) =09
return;
if ( stButtons =3D=3D true ) =09
{
document.all.Start.value =3D strPlay[1];
if ( document.all.Pause !=3D null )
{
document.all.Pause.value =3D strPause[0];
}
}
if ( (stProjState =3D=3D PS_RUNNING) || (stProjState =3D=3D =
PS_PAUSED) )=09
{
ProjectShutdown();
ProjectInitialize();
}
else if ( stProjState !=3D PS_INITIALIZED ) =09
ProjectInitialize();
ProjectStart(); =09
}
function Pause()
{
=09
if ( stProjState =3D=3D PS_PAUSED ) =09
{
tickTimer.StartTicking(); =09
if ( document.all.Pause !=3D null )
{
document.all.Pause.value =3D strPause[0];
}
stProjState =3D PS_RUNNING;
StatusChange(); =09
}
else
{
if ( tickTimer !=3D null ) =09
tickTimer.StopTicking(); =09
if ( stProjState !=3D PS_RUNNING ) =09
return;
stProjState =3D PS_PAUSED;
if ( document.all.Pause !=3D null )
{
document.all.Pause.value =3D strPause[1];
}
StopEverythingOnScenes( true ); =09
StatusChange(); =09
}
}
function Stop()
{
if ( stNoInput ) =09
return;
location.reload();
}
function Forward()
{
if ( stNoInput ) =09
return;
=09
if ( stProjState !=3D PS_RUNNING )
return;
SceneExit( currentScene ); =09
}
function Backward()
{
if ( stNoInput ) =09
return;
var nextScene;
=09
=09
=09
if ( stProjState =3D=3D PS_COMPLETE )
nextScene =3D Project.stopScene;
else if ( stProjState !=3D PS_RUNNING )
return;
else
nextScene =3D (currentScene.number =3D=3D 0) ? 0 : currentScene.number =
- 1;
ProjectShutdown();
ProjectInitialize();
ProjectStart( nextScene ); =09
}
function GotoWebpage()
{
window.open( Project.webpage); =09
}
function StatusChange( )
{
var stsPage =3D null; =09
var stsState =3D null; =09
if ( stProjState =3D=3D PS_UNINITIALIZED )
{
stsState =3D "Initializing";
stsPage =3D ""
}
else if ( stProjState =3D=3D PS_INITIALIZED )
{
stsState =3D "Ready";
stsPage =3D "";
}
else if ( stProjState =3D=3D PS_RUNNING )
{
stsState =3D "Playing";
stsPage =3D (currentScene.number+1) + " / " + nScenes;
}
else if ( stProjState =3D=3D PS_PAUSED )
stsState =3D "Paused";
else if ( stProjState =3D=3D PS_COMPLETE )
stsState =3D "Complete";
=09
if ( (formStatus !=3D null) && (stsPage !=3D null) )
formStatus.value =3D stsPage;
=09
if ( stsState !=3D null )
top.status =3D stsState;=20
}
function GetSceneFromNumber( sceneNum )
{
return sceneArray[sceneNum]; =09
}
function GetPlayerFromName( playerName )
{
var objPlayer;
=09
=09
if ( (currentScene) && (currentScene.Players !=3Dnull) && ((objPlayer =
=3D currentScene.Players[playerName]) !=3D null) ) =09
return objPlayer; =09
=09
var objScene;
for ( sceneName in Scenes ) =09
{
objScene =3D Scenes[sceneName];
if ( objScene.Players !=3D null )
{
objPlayer =3D objScene.Players[playerName];
if ( objPlayer !=3D null )
return objPlayer; =09
}
}=09
=09
return null; =09
}
function GetObjectTypeFromName( nameString )
{
var type =3D nameString.substr(0,1); =09
if ( type =3D=3D NAME_SCENE ) =09
return OBJ_SCENE;
else if ( type =3D=3D NAME_PLAYER ) =09
return OBJ_PLAYER;
}
function GetPlayerTypeFromName( nameString )
{
var type =3D nameString.substr(1,1); =09
if ( type =3D=3D PLAYER_NAME_IMAGE ) =09
return PLAYER_IMAGE;
else if ( type =3D=3D PLAYER_NAME_DRAW ) =09
return PLAYER_DRAW;
else if ( type =3D=3D PLAYER_NAME_TEXT ) =09
return PLAYER_TEXT;
}
function resetGifAnimation()
{
var temp =3D document.all["img1"].src;
document.all["img1"].src =3D temp;
}
Project =3D new Project(50, 0, 0, 2, 1, 0, =
"http://home-publishing.com/SKU/V3Pub.asp");
Scenes =3D new Object();
Scenes.Sx19 =3D new Scene( 10 );
Scenes.Sx19.entryTrans =3D new Transition( 16, 2, 0, 0 );
Scenes.Sx19.Bhv =3D new Array();
Scenes.Sx19.Bhv[0] =3D new Sound( 0, 0, -1, 2, "AW36", =
"cid:057301bd9ae9$8da37840$5c5a389d@emma2.dns.microsoft.com" );
Scenes.Sx19.Players =3D new Object();
Scenes.Sx19.Players.PT22 =3D new Player( -1, -1 );
</SCRIPT>
</BODY></HTML>
------=_NextPart_001_0BED_01BDBEBB.64254D90--
------=_NextPart_000_0BEC_01BDBEBB.64254D90
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-ID: <003501bd8e4b$034cd420$5c5a389d@emma2.dns.microsoft.com>
X-Content-Source: X:\v3Contnt\clipmed\mmclips\j730_739\j0073885.gif
X-Global-Moniker: :HOMEPREM\MAIN\HMPRDIR2\J0073885.GIF
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
wblivRmbuWmctbmcvgknwNmctwmdzCmcznmcIBCbXSk/EOCbqjFl2QmZ3OmdtJhg4ZmZ45lB3wlj
5wma6dkA67li7Vk//pM55Ame2gmQ7xmfJTafAVSf3ame5Slg/rmd9img+OmTZ2k8qqmbpgMBpElQ
E8CgsOmgmhOh/zShltOgs/mgGKpPGlo5FdqhF5plIWqc8kOiEGqiFJpBFrqiU3aiHPo6JRqjLZqi
NAqjMCaj/2ICuxABExAeDxAe97MUwShgPhoeQaoaRDoBRipmSQqkQtqkT+plUbqkQ2o6TgoCR6pf
VzqlWlqlWfalTBqmXAqlP4qlVHr/plaapmBapGw6pmk6My4wMBYQpBBgJS9glCVWpyFwpxKQpyGw
p3bmp4AqqIRaZ4aKp3rKpyC2qIHaqIVqp4w6qI6aYJCKqJcqYJkqqYo6MIIWqqI6qqRaqqZ6qqia
qqq6qqzaqmKmL7Aaq7I6q7Raq7Z6q7iaq7q6q7zaq776q8AarMI6rMRarMZ6rMiarMq6rMw6q2vy
rNAardI6rdRardZ6rdiardq6rdzard76reAaruI6ruRaruZ6ruiaruq6ruzaru4KrrYRr/I6r/Ra
r/Z6r/iar/q6r/zar/76rwAbsAI7sARbsAZ7sAibsAq7sAzbsA77sBAbsRI7sRRb/7EWe7EYm7Ea
u7Ec27Ee+7EgG7IiO7IkW7Ime7Iom7Iqu7Is27Iu+7IwG7MyO7M0W7M2e7M4m7M6u7M827M++7NA
G7RCO7REW7RGe7RIm7RKu7RM27RO+7RQG7VSO7VUW7VWe7VYm7Vau7Vc27Ve+7VgG7ZiO7ZkW7Zm
e7Zom7Zqu7Zs27Zu+7ZwG7dyO7d0W7d2e7d4m7d6u7cWMagulAt3wgt8O7gxy6VGhgrskLiJK0qi
xCv5gANDQbiSe7KOezAjMAJJEQHpEB4hMAIAMheRO7miy7EGY1ESYAH1AAINQyAZ4ACyAAm70AO2
IASvoQoSEBJOQQQgILij27sGG/8CJmACI3A9DzAZD3Az2TUIezqkkeA6XDoCOoAz7UIKvlu9+hoC
O5AD2ltCknEPEYADPcAD4ju+4wtdwxQeXGoC3uCQ0JUPFuATSmFkOmC99Duv1uEUuXssS7EUeNG/
9/C/4NG/AiwLILBDGBEm5XG7c8G//ktI3hC69RvBhDEBufACmisJ4GMe/4sgGewshAQJhwtFPSAC
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
RLu5pIusGuAI7pmyjCu6rNu6rvu6fRUIADs=
------=_NextPart_000_0BEC_01BDBEBB.64254D90
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-ID: <0be401bdbef6$102ba550$ed5d389d@superwonker.dns.microsoft.com>
X-Content-Source: C:\TEMP\IMG4A2.GIF
R0lGODlhOwItAff/AP39/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP39/SH5BAEBAP8ALAAAAAA7Ai0B
QAiuAP8JHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuX
MGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOK
HUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5
suXLmDNrSN7MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx
48iTK1/OvLnz59CjS59Ovbr169izaznfzr279+/gw4sfT768+fPo06tfz769+/fw48ufT7++/fv4
8+vfz7+///8ABijggAQWaOCBCCao4II0DDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo
4okopqjiiiy26OKLMMYo44w01i1o44045qjjjjz26OOPQAYp5JBEFmnkkUgmqeSSTDbp5JNQRinl
lFRWaeWVWGYpqeWWXHbp5ZdghinmmGSWaeaZaKap5ppstunmm3DGKeecdNZp55145qkn55589unn
n4AGKuighBZq6KGIJqrooow26uijkEYq6aSUVmrppZhmI6rpppx26umnoIYq6qiklmrqqaimquqq
rLbq6quwxirrrLTWImrrrbjmquuuvPbq66/ABivssMQWa+yxyCar7LLMNuvss9AfRivttNRWa+21
2Gar7bbcduvtt+CGK+645JZr7rnoph6r7rrstuvuu/DGK++89NZr77345qvvvvz26++/AAccLPDA
BBds8MEIJ6zwwgw37PDDEEcs8cQUV2zxxRsYZ6zxxhx37PHHIIcs8sgkl2zyySinrPLKLLca7PLL
MMcs88w012zzzTjnrPPOPPfs889ABy0M9NBEF2300UgnLW1AADs=
------=_NextPart_000_0BEC_01BDBEBB.64254D90
Content-Type: audio/midi
Content-Transfer-Encoding: 7bit
Content-ID: <057301bd9ae9$8da37840$5c5a389d@emma2.dns.microsoft.com>
X-Content-Source: D:\soundDump\j0074212.mid
X-Global-Moniker: :HOMESNMM\MAIN\J0074212.MID
------=_NextPart_000_0BEC_01BDBEBB.64254D90
Content-Type: application/x-font
Content-Transfer-Encoding: 7bit
Content-ID: <0bea01bdbef6$1071d610$ed5d389d@superwonker.dns.microsoft.com>
X-Content-Source: Comic Sans MS.eot
------=_NextPart_000_0BEC_01BDBEBB.64254D90--